package com.sinodata.bsm.center.purview;

/**
 * 
 * <p>
 * Description: 权限标识定义类
 * </p>
 *
 * @author liulibo
 * @version 1.0

 * <p>
 * History: 
 *
 * Date                     Author         Version     Description
 * ---------------------------------------------------------------------------------
 * 2012-8-7 PM 3:34:00      liulibo        1.0         To create
 * </p>
 *
 * @since 
 * @see
 */
public class FunctionConstants {

    public final static String SYSTEM_ID_KEY = "sys.id";

    public final static String SYSTEM_NAME_KEY = "sys.name";

    //系统功能授权
    /**
     * 权限类别，系统功能授权
     */
    public final static String TYPE_SYSTEM_FUNCTION = "system";

    /**
     * 系统功能权限，拓扑管理权限
     */
    public final static String TOPO_MANAGER = "topoManager";

    /**
     * 系统功能权限，策略管理权限
     */
    public final static String STRATEGY_MANAGER = "strategyManager";

    /**
     * 系统功能权限，系统维护权限，无此权限系统维护显示个性化定制
     */
    public final static String SYSTEM_MANAGER = "systemManager";

    //资源视图授权
    /**
     * 权限类别，视图授权
     */
    public final static String TYPE_VIEW_FUNCTION = "view";

    /**
     * 视图可见权限
     */
    public final static String VIEW_VIEW = "viewView";

    /**
     * 视图可新增资源权限
     */
    public final static String VIEW_ADD_RES = "viewAddRes";

    //资源授权
    /**
     * 权限类别，资源授权
     */
    public final static String TYPE_RES_FUNCTION = "res";

    /**
     * 资源可见权限，可见资源，资源相关信息均可见，包含指标信息、事件信息等
     */
    public final static String VIEW_RES = "viewRes";

    /**
     * 资源维护编辑权限，包含资源的新增、修改、删除、资源发现、子资源定制、资源关系维护等
     */
    public final static String EDIT_RES = "editRes";

    /**
     * 事件处理，包括事件认领，清除动作。
     */
    public final static String HANDLE_EVENT = "handleEvent";//Handle

    //拓扑权限
    /**
     * 权限类别，拓扑权限
     */
    public final static String TYPE_TOPO_FUNCTION = "topo";

    /**
     * 显示拓扑权限
     */
    public final static String VIEW_TOPO = "viewTopo";

    //性能图权限
    /**
     * 权限类别，拓扑权限
     */
    public final static String TYPE_REAL_TIME_FUNCTION = "realTime";

    /**
     * 显示拓扑权限
     */
    public final static String VIEW_REAL_TIME = "viewRealTime";

    /**
     * 显示报表权限
     */
    public final static String VIEW_REPORT = "viewReport";

    /**
     * 获取所有与资源功能相关的权限标识
     * @return
     */
    public static String[] getResFunctions() {
        return new String[] { VIEW_RES, EDIT_RES, HANDLE_EVENT };
    }

}